package com.atguigu.tingshu.account.service;

import com.atguigu.tingshu.model.account.UserAccount;
import com.atguigu.tingshu.model.account.UserAccountDetail;
import com.atguigu.tingshu.vo.account.AccountLockResultVo;
import com.atguigu.tingshu.vo.account.AccountLockVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;

public interface UserAccountService extends IService<UserAccount> {

    public abstract void initAccount(long userId);

    public abstract BigDecimal getAvailableAmount();

    public abstract AccountLockResultVo checkAndLock(AccountLockVo accountLockVo);

    public abstract void miunsAccount(String orderNo);

    public abstract void unLockAccount(String orderNo);

    public abstract void rechargeInfoPaySuccess(String orderNo);

    public abstract IPage<UserAccountDetail> findUserRechargePage(Integer pageNo, Integer pageSize, String tradeType);
}
